package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 销售订单修改计划对象 erp_sale_collection_plan
 * @author wutao
 * @date 2024-06-30
 */
@TableName ("erp_sale_collection_plan")
@Accessors (chain = true)
@ApiModel (value = "erp_sale_collection_plan对象", description = "销售订单收款计划")
@Data
public class SaleCollectionPlanEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 收款计划主键id
     */
    @TableId (type = IdType.INPUT)
    private String id;

    /**
     * 订单id
     */
    @ApiModelProperty ("订单id")
    @TableField ("order_id")
    @Excel (name = "订单id")
    private String orderId;

    /**
     * 是否预收（0:否1是）
     */
    @TableField ("is_pre_receipt")
    @ApiModelProperty ("是否预收")
    @Excel (name = "是否预收", readConverterExp = "0=:否1是")
    private String isPreReceipt;

    /**
     * 应收比例
     */
    @ApiModelProperty ("应收比例")
    @TableField ("receivable_ratio")
    @Excel (name = "应收比例")
    private String receivableRatio;

    /**
     * 应收金额
     */
    @ApiModelProperty ("应收金额")
    @TableField ("receivable_amount")
    @Excel (name = "应收金额")
    private String receivableAmount;

    /**
     * 到期日
     */
    @ApiModelProperty ("到期日")
    @TableField ("due_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "到期日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dueTime;

    /**
     * 关联单号(应收金额为0也不能勾选，是否预收勾选才可以选择关联的单号)
     */
    @ApiModelProperty ("关联单号(应收金额为0也不能勾选，是否预收勾选才可以选择关联的单号)")
    @TableField ("association_order_num")
    @Excel (name = "关联单号(应收金额为0也不能勾选，是否预收勾选才可以选择关联的单号)")
    private String associationOrderNum;

    /**
     * 实收金额
     */
    @ApiModelProperty ("实收金额")
    @TableField ("net_receipts_amount")
    @Excel (name = "实收金额")
    private String netReceiptsAmount;

    /**
     * 控制环节（下拉框，先写死）
     */
    @TableField ("control_link")
    @ApiModelProperty ("控制环节")
    @Excel (name = "控制环节", readConverterExp = "下=拉框，先写死")
    private String controlLink;

    /**
     * 实际预收发货
     */
    @ApiModelProperty ("实际预收发货")
    @TableField ("actual_prepayment_delivery")
    @Excel (name = "实际预收发货")
    private String actualPrepaymentDelivery;

    /**
     * 预收超出金额
     */
    @ApiModelProperty ("预收超出金额")
    @TableField ("excess_amount")
    @Excel (name = "预收超出金额")
    private String excessAmount;

    /**
     * 是否使用
     */
    private Integer isUsed;


}
